<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /**
    1.Promise是ES6，而async是ES7
    2.Promise原来有规范的意义，Promise a，b，c，d 等规范，最终确定的是Promise a+ 规范
    3.Promise链式操作，自己catch异常。async则要在函数内catch，好在现在catch成本较低
    4.Promise有很多并行神器，比如Promise.all\Promise.race等。这些是async没法搞定的
    5.Promise是显式的异步，而 Async/await 让你的代码看起来是同步的，你依然需要注意异步
    6.Promise即使不支持es6，你依然可以用promise的库或polyfil，而async就很难做，当然也不是不能，成本会高很多
    7.async functions 和Array.forEach等结合，很多tc39提案都在路上或者已经实现，处于上升期，而promise也就那样了
   */
    </script>
  </body>
</html>
